package net.sansi.v3correctserver.dto.v3serverapi;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import net.sansi.v3correctserver.entity.v3server.V3Page;
import net.sansi.v3correctserver.entity.v3server.V3Screen;
import net.sansi.v3correctserver.entity.v3server.V3ScreenInfo;

import java.util.List;

/**
 * Created by Fang
 * create time : 2024/11/5
 * IDE : IntelliJ IDEA
 * <p>
 * v3 服务器返回的屏幕列表
 */

public class V3ServerApiScreenDto {
    /**
     * 屏幕列表
     */
    @Getter
    @Setter
    public static class ScreensResp extends V3Page<List<ScreensResp.Result>> {

        @Getter
        @Setter
        public static class Result extends V3Screen {
            private V3ScreenInfo screenInfo;
        }
    }

    /**
     * 显示屏所有状态响应
     */
    @Data
    public static class AllStatusResp {

        @Data
        public static class V3SendBox {
            List<V3ScanBoard> scanBoards;
        }

        @Data
        public static class V3ScanBoard {
            private V3Layout layout;
            private V3Status status;

            @Data
            public static class V3Status {
                List<V3Panel> panels;
            }
        }

        @Data
        public static class V3Layout {
            private String id;
            private Integer screenX;
            private Integer screenY;
        }

        @Data
        public static class V3Panel {
            private V3Position position;

            @Data
            public static class V3Position {
                private Integer width;
                private Integer height;
                private String panelID;
                private Integer x;
                private Integer y;
                private String index;
            }
        }

        List<V3SendBox> sendBoxs;
    }
}
